package generation;
import javacc.Yaka;

/**
 * Class Declaration
 * Analyse une declaration de variable
 * @author nform & ffeced
 */
public class Declaration {
	private static String type;
	private static int cpt=0;

	/**
	 * Sauvegarde le type pour les prochaines declarations
	 * @param type
	 */
	public static void stockType(String t){
		type = t;
	}

	/**
	 * Insere une variable dans le tableau d'ident
	 * @param nom
	 */
	public static void range(String nom){
		Ident ident = new IdVar(type);
		Yaka.tabIdent.rangeIdLoc(nom,ident);
		cpt++;
	}

	/**
	 * Renvoie le nombre de variables declarees
	 * @param nom
	 */
	public static int getNbVariable(){
		return cpt;
	}
	
	/**
	 * Renvoie le dernier type lu
	 * @return le dernier type lu
	 */
	public static String getType(){
		return type;
	}
	
	/**
	 * Reset le compteur de variable
	 */
	public static void resetCpt(){
		cpt = 0;
	}

}
